A Contract-Based Language to Specify Design Components
نویسندگان
چکیده
For component-based software development to be successful in organizations, the software developers must give close attention to the design of components as independent abstractions with well-specified behaviors. Without well-specified behaviors the possibility to distribute and acquire software components will be limited. In this article, we present a contract-based approach to analyze and model the properties of design components and their composition in order to detect and correct composition errors. This approach permits to characterize the structural, interface and behavioural aspects of design component. As a matter of fact, we give a specific form of their instantiation, evolution and integration. To enable this, we present a pattern contract language that captures the structural and behavioral requirements associated with a range of patterns, as well as the system properties that are guaranteed as a result. In addition, we propose the use of the LOTOS language as an ADL for formalizing these aspects. We illustrate the approach by applying it to a standard design pattern.
منابع مشابه
Safety contracts for timed reactive components ( extended abstract ? )
A variety of system design and architecture description languages, such as SysML, UML or AADL, rely on the decomposition of complex system designs into communicating timed components. In this paper we consider the contract-based specification of such components. A contract is a pair formed of an assumption, which is an abstraction of the component’s environment, and a guarantee, which is an abs...
متن کاملSpecifying Reusable Components Using Contracts
Contracts were introduced by Helm et al. as a high level construct for explicitly specifying interactions among groups of objects. This paper describes further developments and application of the Contract construct. We show how Contracts can be used to represent classic algorithms as large grained reusable object oriented abstractions, how these algorithms can be customized through Contract ree...
متن کاملXCD – Simple, Modular, Formal Software Architectures
Connector-Centric Design (XCD) is a new approach for specifying software architectures that focuses on the use of complex connectors. In XCD simple interconnection mechanisms like procedure-calls, event-buses, etc. are abstracted and components take a second place. XCD aids the clear separation in a modular manner of the highlevel functional, interaction, and control system behaviour, thus incr...
متن کاملContracts and Quality Attributes of Software Components
We argue that quality attributes of a component are most often not a constant property. Muchmore, the quality of a component heavily depends on the specific usage context. Therefore, we present a specification method for contractually specified components which does not specify quality attributes as constants but as functions to be evaluated at deployment. The contribution of this paper is thre...
متن کاملContract-Aware Feature Composition
Feature-oriented programming is a paradigm to develop software product lines, in which products can be generated by composing feature modules. Design by contract is a development methodology, in which methods are specified by annotating them with contracts. Researchers propose to use such contracts to specify feature modules in order to perform different product-line analysis-techniques such as...
متن کامل